\section{R\'{e}f\'{e}rence de la classe CInstr\-Queue}
\label{classCInstrQueue}\index{CInstrQueue@{CInstrQueue}}
Classe de la file d'instructions.  


{\tt \#include $<$instructions.h$>$}

\subsection*{Fonctions membres publiques}
\begin{CompactItemize}
\item 
{\bf CInstr\-Queue} ()
\begin{CompactList}\small\item\em Constructeur. \item\end{CompactList}\item 
{\bf $\sim$CInstr\-Queue} ()
\begin{CompactList}\small\item\em Destructeur : vide la file. \item\end{CompactList}\item 
void {\bf push\-Instr} ({\bf CInstruction})
\begin{CompactList}\small\item\em Ajoute une instruction \`{a} la file. \item\end{CompactList}\item 
{\bf Label\-Id} {\bf push\-New\-Label\-Id} ()
\begin{CompactList}\small\item\em Empile un nouveau Label\-Id et le retourne. \item\end{CompactList}\item 
{\bf Label\-Id} {\bf pop\-Label\-Id} ()
\begin{CompactList}\small\item\em D\'{e}pile un Label\-Id et le retourne. \item\end{CompactList}\item 
void {\bf write\-Instr} (ostream \&)
\begin{CompactList}\small\item\em Vide la file d'instructions et les \'{e}crit dans un flux. \item\end{CompactList}\end{CompactItemize}
\subsection*{Attributs priv\'{e}s}
\begin{CompactItemize}
\item 
queue$<$ {\bf CInstruction} $>$ {\bf instructions}
\begin{CompactList}\small\item\em File d'instructions. \item\end{CompactList}\item 
stack$<$ {\bf Label\-Id} $>$ {\bf labels}
\begin{CompactList}\small\item\em Pile des identifiants de label. \item\end{CompactList}\item 
{\bf Label\-Id} {\bf current\-Label\-Id}
\begin{CompactList}\small\item\em Prochain identifiant de label \`{a} empiler. \item\end{CompactList}\end{CompactItemize}


\subsection{Description d\'{e}taill\'{e}e}
Classe de la file d'instructions. 

Contient les instructions du code 3 adresses, ordonn\'{e}es. G\`{e}re \'{e}galement les identifiants de labels. 



D\'{e}finition \`{a} la ligne 143 du fichier instructions.h.

\subsection{Documentation des contructeurs et destructeur}
\index{CInstrQueue@{CInstr\-Queue}!CInstrQueue@{CInstrQueue}}
\index{CInstrQueue@{CInstrQueue}!CInstrQueue@{CInstr\-Queue}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}CInstr\-Queue::CInstr\-Queue ()}\label{classCInstrQueue_3520152da50d97d37acfad3d06cc94fe}


Constructeur. 



D\'{e}finition \`{a} la ligne 145 du fichier instructions.cpp.

R\'{e}f\'{e}rences current\-Label\-Id.\index{CInstrQueue@{CInstr\-Queue}!~CInstrQueue@{$\sim$CInstrQueue}}
\index{~CInstrQueue@{$\sim$CInstrQueue}!CInstrQueue@{CInstr\-Queue}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}CInstr\-Queue::$\sim$CInstr\-Queue ()}\label{classCInstrQueue_e0eea69dde8d211c3cbe319f75099f20}


Destructeur : vide la file. 



D\'{e}finition \`{a} la ligne 150 du fichier instructions.cpp.

R\'{e}f\'{e}rences instructions.

\subsection{Documentation des fonctions membres}
\index{CInstrQueue@{CInstr\-Queue}!popLabelId@{popLabelId}}
\index{popLabelId@{popLabelId}!CInstrQueue@{CInstr\-Queue}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Label\-Id} CInstr\-Queue::pop\-Label\-Id ()}\label{classCInstrQueue_9955e7224cbe64efa4a418c28eb72928}


D\'{e}pile un Label\-Id et le retourne. 



D\'{e}finition \`{a} la ligne 169 du fichier instructions.cpp.

R\'{e}f\'{e}rences labels.

R\'{e}f\'{e}renc\'{e} par process\-Cond\-End(), process\-Else(), process\-Repeat\-Until\-End(), et process\-While\-Do\-End().\index{CInstrQueue@{CInstr\-Queue}!pushInstr@{pushInstr}}
\index{pushInstr@{pushInstr}!CInstrQueue@{CInstr\-Queue}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void CInstr\-Queue::push\-Instr ({\bf CInstruction})}\label{classCInstrQueue_ca274db088377cfeafbbc08b4f70241d}


Ajoute une instruction \`{a} la file. 



D\'{e}finition \`{a} la ligne 157 du fichier instructions.cpp.

R\'{e}f\'{e}rences instructions.

R\'{e}f\'{e}renc\'{e} par process\-Const\-Bool(), process\-Const\-Float(), process\-Const\-Int(), process\-Div(), process\-Eql(), process\-Goto(), process\-Grt(), process\-If\-Not(), process\-Label(), process\-Low(), process\-Mul(), process\-Neq(), et process\-Ref().\index{CInstrQueue@{CInstr\-Queue}!pushNewLabelId@{pushNewLabelId}}
\index{pushNewLabelId@{pushNewLabelId}!CInstrQueue@{CInstr\-Queue}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Label\-Id} CInstr\-Queue::push\-New\-Label\-Id ()}\label{classCInstrQueue_1d0bbc2206fc576004889301f7bcc1e9}


Empile un nouveau Label\-Id et le retourne. 



D\'{e}finition \`{a} la ligne 163 du fichier instructions.cpp.

R\'{e}f\'{e}rences current\-Label\-Id, et labels.

R\'{e}f\'{e}renc\'{e} par process\-Goto\-New(), et process\-Label\-New().\index{CInstrQueue@{CInstr\-Queue}!writeInstr@{writeInstr}}
\index{writeInstr@{writeInstr}!CInstrQueue@{CInstr\-Queue}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void CInstr\-Queue::write\-Instr (ostream \&)}\label{classCInstrQueue_02d32bf710942a9486971de6e5868f77}


Vide la file d'instructions et les \'{e}crit dans un flux. 

\begin{Desc}
\item[Note:]Les flux cout et cerr permettent d'\'{e}crire sur la sortie standard et la sortie d'erreur standard. \end{Desc}


D\'{e}finition \`{a} la ligne 177 du fichier instructions.cpp.

R\'{e}f\'{e}rences instructions.

R\'{e}f\'{e}renc\'{e} par main().

\subsection{Documentation des donn\'{e}es membres}
\index{CInstrQueue@{CInstr\-Queue}!currentLabelId@{currentLabelId}}
\index{currentLabelId@{currentLabelId}!CInstrQueue@{CInstr\-Queue}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Label\-Id} {\bf CInstr\-Queue::current\-Label\-Id}\hspace{0.3cm}{\tt  [private]}}\label{classCInstrQueue_3513840c1564fb73cc61d624b3568148}


Prochain identifiant de label \`{a} empiler. 



D\'{e}finition \`{a} la ligne 149 du fichier instructions.h.

R\'{e}f\'{e}renc\'{e} par CInstr\-Queue(), et push\-New\-Label\-Id().\index{CInstrQueue@{CInstr\-Queue}!instructions@{instructions}}
\index{instructions@{instructions}!CInstrQueue@{CInstr\-Queue}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}queue$<${\bf CInstruction}$>$ {\bf CInstr\-Queue::instructions}\hspace{0.3cm}{\tt  [private]}}\label{classCInstrQueue_287350a59666d02c8d0b824c610364b2}


File d'instructions. 



D\'{e}finition \`{a} la ligne 147 du fichier instructions.h.

R\'{e}f\'{e}renc\'{e} par push\-Instr(), write\-Instr(), et $\sim$CInstr\-Queue().\index{CInstrQueue@{CInstr\-Queue}!labels@{labels}}
\index{labels@{labels}!CInstrQueue@{CInstr\-Queue}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}stack$<${\bf Label\-Id}$>$ {\bf CInstr\-Queue::labels}\hspace{0.3cm}{\tt  [private]}}\label{classCInstrQueue_d49977486e2fad043256db82648a91a4}


Pile des identifiants de label. 



D\'{e}finition \`{a} la ligne 148 du fichier instructions.h.

R\'{e}f\'{e}renc\'{e} par pop\-Label\-Id(), et push\-New\-Label\-Id().

La documentation de cette classe a \'{e}t\'{e} g\'{e}n\'{e}r\'{e}e \`{a} partir des fichiers suivants:\begin{CompactItemize}
\item 
{\bf instructions.h}\item 
{\bf instructions.cpp}\end{CompactItemize}
